d99cbc036e087e0c65a9022ba826a5c6b3f0923c,cdap-watchdog/src/test/java/co/cask/cdap/logging/appender/LoggingTester.java,LoggingTester,testGetPrev,#LogReader#LoggingContext#,183
Before Change
Assert.assertEquals("Test log message 29 arg1 arg2", events.get(14).getLoggingEvent().getFormattedMessage());
LogCallback logCallback5 = new LogCallback();
logReader.getLogPrev(loggingContext, new LogOffset(0, 0), 15, Filter.EMPTY_FILTER, logCallback5);
events = logCallback5.getEvents();
Assert.assertEquals(0, events.size());
After Change
LogCallback logCallback2 = new LogCallback();
logReader.getLogPrev(loggingContext, ReadRange.createToRange(logCallback1.getFirstOffset()), 20,
Filter.EMPTY_FILTER, logCallback2);
events = logCallback2.getEvents();
Assert.assertEquals(20, events.size());
Assert.assertEquals("Test log message 30 arg1 arg2", events.get(0).getLoggingEvent().getFormattedMessage());
Assert.assertEquals("Test log message 49 arg1 arg2", events.get(19).getLoggingEvent().getFormattedMessage());
LogCallback logCallback3 = new LogCallback();
logReader.getLogNext(loggingContext, ReadRange.createFromRange(logCallback2.getLastOffset()), 20,
Filter.EMPTY_FILTER, logCallback3);
events = logCallback3.getEvents();
Assert.assertEquals(10, events.size());
Assert.assertEquals("Test log message 50 arg1 arg2", events.get(0).getLoggingEvent().getFormattedMessage());
Assert.assertEquals("Test log message 59 arg1 arg2", events.get(9).getLoggingEvent().getFormattedMessage());
LogCallback logCallback4 = new LogCallback();
logReader.getLogPrev(loggingContext, ReadRange.createToRange(logCallback2.getFirstOffset()), 15,
Filter.EMPTY_FILTER, logCallback4);
events = logCallback4.getEvents();
// In kafka mode, we'll get only 10 lines, need to run the call again.
if (events.size() < 15) {
LogCallback logCallback41 = new LogCallback();
logReader.getLogPrev(loggingContext, ReadRange.createToRange(logCallback4.getFirstOffset()), 5,
Filter.EMPTY_FILTER, logCallback41);
events.addAll(0, logCallback41.getEvents());
logCallback4 = logCallback41;
}
Assert.assertEquals(15, events.size());
Assert.assertEquals("Test log message 15 arg1 arg2", events.get(0).getLoggingEvent().getFormattedMessage());
Assert.assertEquals("Test log message 29 arg1 arg2", events.get(14).getLoggingEvent().getFormattedMessage());
LogCallback logCallback6 = new LogCallback();
logReader.getLogPrev(loggingContext, ReadRange.createToRange(logCallback4.getFirstOffset()), 25,
Filter.EMPTY_FILTER, logCallback6);
events = logCallback6.getEvents();
Assert.assertEquals(15, events.size());
Assert.assertEquals("Test log message 0 arg1 arg2", events.get(0).getLoggingEvent().getFormattedMessage());
Assert.assertEquals("Test log message 14 arg1 arg2", events.get(14).getLoggingEvent().getFormattedMessage());
LogCallback logCallback5 = new LogCallback();
logReader.getLogPrev(loggingContext, ReadRange.createToRange(logCallback6.getFirstOffset()), 15,
Filter.EMPTY_FILTER, logCallback5);
events = logCallback5.getEvents();
Assert.assertEquals(0, events.size());